
package Soligee.controller.facade.sessionFacade;

import com.icesoft.faces.component.jsfcl.data.DefaultSelectionItems;
import java.util.List;

public interface SessionFacadeBuscar {
  
      //busca pelo login e senha para validar o mesmo
      boolean buscaLoginSenha(String login, String senha,Class classe);
      //retorna o total de registros
      int totalDeRegistros(Class classe);
      //busca todos os registros do banco
      List buscarTodos(String ordenarPor,Class classe);
       //busca todos os registros no banco com associacao (join)
      List buscaTodosComAssociacao(String campo_desejado,Object oque_buscar,String nomeObjetoAsssociado,String ordenarPor,Class classe);
      //Busca de Parcelas Pendentes de pagamento
      List buscarParcelaPendente(String ordenarPor, Class classe);
       //busca no banco por nome, por exemplo "descricao"
      List buscaPorNome(String campo_desejado,Object oque_buscar, Class classe);
      //busca no banco por codigo, ou seja, um numero, por exemplo o rg
      List buscaPorCodigo(Class classe,String campo_desejado,Object oque_buscar);
      //o parametro nomeObjetoAssociado é o nome do objeto associado na classe
      List buscaComAssociacao(String campo_desejado, String oque_buscar,String nomeObjetoAssociado,Class classe);
      //o parametro nomeObjetoAssociado é o nome do objeto associado na classe
      List buscaComAssociacaoSemCriterio(Class classe,String nomeObjetoAssociado);
      //busca para realizar a paginacao
      List buscaComPaginacao(int firstResult, int maxResult,String ordenarPor,Class classe);
      //busca para realizar a paginacao com criterio
      List buscaComPaginacaoComCriterio(int firstResult, int maxResult,String ordenarPor,String criterioBusca,String oqueBuscar,Class classe);
      //busca no banco quando há um item e a necessidade do join
      List buscaComItem(Class classe, String nomeObjetoAssociado);
      //busca no banco quando há um item e a necessidade do join com algum criterio, ou seja, clausula where
      List buscaComItemCriteriosa(String campo_desejado,Object oque_buscar,String nomeObjetoAssociado,Class classe);
      //busca para realizar o autocomplete das interfaces
      DefaultSelectionItems consultaSelectInputText(int identificador_tabela,String campoConsultar, String valorConsultar, Class classe );



    
}
